package Verktoy;

/**
 * Klasse som filtrer input
 * @author Gruppe1
 */

public class Filter {
  private static final char erstattMed = '_';
  private static final String spesialtegn = "- ,.";
  
  /**
   * Statisk metode som filtrerer ut skadelige tegn
   * @param tekst String som skal filtreres
   * @return Den filtrerte teksten der skadelige tegn er byttet ut med '_'.
   */
  public static String filtrer(String tekst) {
    if (tekst == null) return null;
    StringBuilder resultat = new StringBuilder(tekst);
    for (int i = 0; i < tekst.length(); i++) {
      char tegn = tekst.charAt(i);
      /* isLetterOrDigit() bruker tegnsettet som maskinen er satt opp med */
      if (!(Character.isLetterOrDigit(tegn) || spesialtegn.indexOf(tegn) >= 0)) {
        resultat.setCharAt(i, erstattMed);
      }
    }
    return resultat.toString();
  }
  /**
   * Statisk metode som filtrerer ut skadelige tegn fra ei liste: String []
   * @param tekst String[] der hvert element i lista skal filtreres
   * @return Samme liste som kom inn som innparameter der hvert element i lista er filtrert for skadelige tegn.
   */
  public static String[] filtrer(String[] tekster) {
    if (tekster == null) return null;
    for (int i = 0; i < tekster.length; i++) {
      tekster[i] = filtrer(tekster[i]);
    }
    return tekster;
  }
}
